package com.desaweb.pe.form;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

import com.desaweb.pe.model.Servicio;

public class ServicioForm extends AbstractForm<Servicio> {
	private String nombre;
	private String costo;
	private String descripcion;
	private String Id;
	
	
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getCosto() {
		return costo;
	}

	public void setCosto(String costo) {
		this.costo = costo;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	
	
	@Override
	public void parseForm() {
		// TODO Auto-generated method stub
		if(nombre.equals("") || nombre == null){
			errors.put("_nombre", "El nombre del servicio es obligatorio");			
			
		}else if(descripcion.equals("") || descripcion == null){
			errors.put("_descripcion", "La descripcion del servicio es obligatorio");
		}else if(costo == null){
			errors.put("_costo", "El costo del servicio es obligatorio");			
		}else{			
			
			try {
				this.entidad.setNombre(nombre);
				this.entidad.setDescripcion(descripcion);
				BigDecimal costoDecimal = new BigDecimal(costo);
				this.entidad.setCosto(costoDecimal);
				
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				errors.put("_costo", "EL formato del costo es incorrecto");
			}
						
		}		
	}
	
	@Override
	public void populateForm(Servicio entidad) {
		// TODO Auto-generated method stub		
			this.nombre=entidad.getNombre();
			this.descripcion=entidad.getDescripcion();
			this.costo = entidad.getCosto().toPlainString();
			this.Id=entidad.getId().toString();
		
		
			
	}
	
	public String getId() {
		return Id;
	}

	public void setId(String id) {
		Id = id;
	}


	public Map<String,String> getErrors(){
		return this.errors;
	}
		
	
	
	
	
	public ServicioForm() {
		// TODO Auto-generated constructor stub		
		super.errors = new HashMap<String, String>();
		this.nombre="";
		this.descripcion="";
		this.costo="";
		super.entidad=new Servicio();
	}

	
	
}

